﻿//*********************************************************//
//    Copyright (c) Microsoft. All rights reserved.
//    
//    Apache 2.0 License
//    
//    You may obtain a copy of the License at
//    http://www.apache.org/licenses/LICENSE-2.0
//    
//    Unless required by applicable law or agreed to in writing, software 
//    distributed under the License is distributed on an "AS IS" BASIS, 
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
//    implied. See the License for the specific language governing 
//    permissions and limitations under the License.
//
//*********************************************************//

using Newtonsoft.Json.Linq;

namespace Microsoft.NodejsTools.Npm.SPI {
    internal class Scripts : IScripts {
        private dynamic _scripts;

        public Scripts(dynamic scripts) {
            _scripts = scripts;
        }

        public int Count {
            get {
                JObject temp = _scripts;
                return null == temp ? 0 : temp.Count;
            }
        }

        public IScript this[string name] {
            get {
                IScript script = null;
                dynamic json = _scripts[name];
                if (null != json) {
                    script = new Script(name, json);
                }
                return script;
            }
        }
    }
}